Talk by Kerstin Eder.
Dynamic (switching) power is power used from state changes. Static (leakage) power is power that’s used at all times.
Mature research, we have features such as different energy modes (think P0, etc)
The higher up the abstraction stack we go, the more opportunities there are for savings. So there’s a clear motivation to make efforts in software.
Traditional software optimisation goal is performance.
Providing information on energy usage for programs, ideally without executing them.
EACOF is a system for mapping hardware measurements to specific software usage.
More time does not necessarily equate to more energy usage. E.g. counting sort uses more energy for 64-bit vs 8-bit, but less time. This is because it is more instructions to do 8-bit instead of default 64-bit, but moving the values uses less energy.
ENTRA does this at ISA level. There’s a tool EnergyAnalyzer by AbsInt which can do this for some SBCs.
Performance Monitoring Units offer counters for various hardware events such as cache misses. This can then be used to fit a regression model.